Custom Settings Configuration
Stirling-PDF provides a /configs/custom_settings.yml
file where users can configure additional settings beyond the standard configuration. This file follows standard YAML format and supports Spring Boot application properties, allowing you to customize the application without modifying core files.
Logging Configuration
Control the verbosity of logs by adjusting log levels for different components:
logging:
level:
root: INFO
org.springframework: WARN
org.hibernate: WARN
org.eclipse.jetty: WARN
stirling.software.SPDF: INFO
# Enable debug logging for specific components when troubleshooting
# org.springframework.security.saml2: TRACE
# org.springframework.security: DEBUG
# org.opensaml: DEBUG
Server Configuration
Configure server behavior including port, address binding, and session timeout:
server:
port: 8080 # Default port
address: 0.0.0.0 # Bind to all interfaces
servlet:
context-path: / # Application context path
session:
timeout: 30m # Session timeout
jetty:
threads:
max: 200 # Maximum number of request processing threads
min: 10 # Minimum number of threads always kept running
connection-idle-timeout: 30000 # Connection idle timeout in milliseconds
SSL/TLS Configuration
Configure HTTPS for secure connections:
server:
port: 8443 # Standard HTTPS port
ssl:
enabled: true
key-store: classpath:keystore.p12 # Path to keystore file
key-store-password: your-keystore-password
key-store-type: PKCS12 # Type of keystore
key-alias: tomcat # Alias of the certificate
Creating a Self-Signed Certificate
To generate a self-signed certificate for development or testing:
keytool -genkeypair -alias tomcat -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore keystore.p12 -validity 365
⚠️ Note
For production use, it's recommended to use a certificate from a trusted Certificate Authority.
Configuration Examples
Basic Configuration
A simple configuration that changes the port and adjusts logging levels:
# custom_settings.yml
server:
port: 9000
logging:
level:
root: INFO
org.springframework: WARN
org.hibernate: WARN
stirling.software.SPDF: INFO
HTTPS Configuration
Enable HTTPS with a custom certificate:
# custom_settings.yml
server:
port: 8443
ssl:
enabled: true
key-store: classpath:keystore.p12
key-store-password: your-keystore-password
key-store-type: PKCS12
key-alias: tomcat
logging:
level:
root: INFO
org.springframework: WARN
Troubleshooting Common Issues
Authentication Issues
Increase security logging to diagnose authentication problems:
logging:
level:
org.springframework.security: DEBUG
stirling.software.SPDF.config.security: DEBUG
SAML/OAuth Issues
Increase SAML-related logging for SSO troubleshooting:
logging:
level:
org.springframework.security.saml2: TRACE
org.springframework.security.oauth2: DEBUG
org.opensaml: DEBUG
General Application Issues
For general application issues:
logging:
level:
stirling.software.SPDF: DEBUG
⚠️ Note
Debug-level logging can significantly increase log volume and may impact performance in production environments. Return logging to normal levels after troubleshooting.